export function transTree(souceData) {
  const treeData = []
  // 属性结构生成

  // 1 先遍历原数组 以原数组中的每一项的id 作为对象的key
  // 每一项本省作为对象的value
  // 形成一个对象解构 (map)

  // 2 遍历原数组 使用数组中的每一项的pid
  // 去第一步形成的map结构去匹配key(id)
  // 如果匹配上
  // 就把当前项放入找到节点的children属性中
  // 如果无法完成匹配
  // 代表当前项就是最根节点上的父节点
  // 那就把当前项直接放到最终产出的targetDate中

  const map = {}
  souceData.forEach(item => {
    map[item.id] = item
    item.children = []
  })
  // console.log(map)

  // 通过pid去匹配id
  souceData.forEach(item => {
    if (map[item.pid]) {
      // 如果匹配上 代表找到根节点
      map[item.pid].children.push(item)
    } else {
      // 没匹配上
      treeData.push(item)
    }
  })
  // console.log(map)
  // 处理之后返回的是处理之后的新数组
  return treeData
}
